/**
 * 全局变量
 */
import store from '@/store'

// 设置store至$xl.store
uni.$xl.setStore(store);

// 设置Api接口
uni.$xl.apis.setConfig({
	// H5使用代理请求，不写默认使用前缀’/dev-api‘进行请求，之后在mainifest.json中配置’/dev-api‘代理跳转（vue2 webpack），vite.config.js中配置’/dev-api‘代理跳转（vue3 vite）
	proxyPrefix: '/dev-api',
	// 小程序、APP则直接使用服务器路径请求，不写默认使用 http://localhost:8080 路径请求
	serverUrl: 'http://192.168.0.121:8096',
	// store中存用户token相关信息的Store模块名
	userStoreModule: 'user'
});

// 请求版本号的路径
uni.$xl.version.setConfig({
	androidType: 1,				// 安卓升级方式，0 应用内更新 / 1 去应用商店更新， 默认应用内更新
	packageName:'uni.UNIDBC089F',				// android 包名，upType=1 时必填
	appleId:'',					// ios 应用 id，app store中获取，ios必填
	timer:24,					// 主动检测间隔小时，默认24
	icon: '',					// 自定义弹窗图标，默认使用内置Base64图片
	title: '发现新版本',			// 弹窗标题，默认发现新版本
	confirmText: '立即更新',		// 弹窗确定文字
	cancelTtext: '稍后再说',		// 弹窗取消文字
	confirmBgColor: '#409eff',	// 弹窗确定背景颜色
	showCancel: true,			// 弹窗是否显示取消，true / false
	titleAlign: 'left',			// 弹窗标题对齐方式，left / center
	descriAlign: 'left'			// 更新描述对齐方式，left / center
})

uni.$xl.setShareConfig({
	wxOpenAppId: '',
	wxMaOriginId: '',
	title: '智租商城',
	desc: '智租万物 惠享生活',
	path: '/pages/index/index',
	imageUrl: 'https://zhizu-system.oss-cn-fuzhou.aliyuncs.com/app/logo/logo.png',
	// #ifdef APP-PLUS
	type: 5
	// #endif
})

uni.$xl.setGlobal({
	// 主题色
	// themeColor: '#8881ff',
	// 项目名称
	ProjectName: 'YunChuPlatform',
	// 小程序appId
	WxMaAppId: 'wx0439efdbb1b609e4',
	// 微信支付 app应用 AppId
	PayAppId: 'wxac0ca98bb79edd21',
	// 客服电话
	KeFu: "18006909157",
	//websocket地址
	// WebSocketUrl: 'ws://192.168.0.102:8082/pushMessage/',
	WebSocketUrl: 'ws://43.139.216.130:8082/pushMessage/',
	// 价格单位
	priceUnit: '易票',
	emptyAppraiseContent: '此用户没有填写文本。',
	// 价格显示，分转为元，保留两位小数
	priceFormat(price) {
		price = price || 0
		return `${(price / 100).toFixed(2)}`
	},
	priceToYuan(price) {
		price = price || 0
		return parseFloat(`${(price / 100).toFixed(2)}`)
	},
	priceToFen(price) {
	    return price ? parseInt(`${(price * 100).toFixed(2)}`, 10) : 0
	},
	dateFormat(datetime) {
		return datetime ? datetime.slice(0,10) : ''
	},
	specFormat(specs) {
		if (!specs) {
			return '';
		}
		let obj = typeof specs === 'string' ? JSON.parse(specs) : specs;
		let result = '';
		if (typeof obj === 'object' && !Array.isArray(obj)) {
			result = Object.keys(obj).map(key => `${key}: ${obj[key]}`).join('; ');
		} else if (Array.isArray(obj)) {
			result = obj.filter(item => item.name && Array.isArray(item.values))
				.map(item => `${item.name}:${item.values.join(',')}`)
				.join(';');
		}
		return result + ';';
	},
	toProduct(type, params) {
		switch(type) {
			case '1':
				uni.$xl.router.push({name: 'combo', params})
				break
			case '2':
				uni.$xl.router.push({name: 'product', params})
				break
			case '3':
				uni.$xl.router.push({name: 'product', params})
				break
			case '4':
				uni.$xl.router.push({name: 'dish', params})
				break
		}

	},
	toSeckillProduct(type, params) {
		switch(type) {
			case '1':
				uni.$xl.router.push({name: 'seckillProduct', params})
				break
			case '2':
				uni.$xl.router.push({name: 'seckillProduct', params})
				break
			case '3':
				uni.$xl.router.push({name: 'seckillProduct', params})
				break
			case '4':
				uni.$xl.router.push({name: 'seckillProduct', params})
				break
		}
	}
})
